package cz.semjob.linguistic.reader.attribute.czech;

import org.springframework.stereotype.Component;

import cz.semjob.linguistic.reader.attribute.APartOfSpeechAttribute;

@Component
public class CzechPartOfSpeechAttribute extends APartOfSpeechAttribute {

	private final static String NOUN = "NOUN";
	private final static String ADJECTIVE = "ADJECTIVE";
	private final static String PRONOUN = "PRONOUN";
	private final static String NUMERAL = "NUMERAL";
	private final static String VERB = "VERB";
	private final static String ADVERB = "ADVERB";
	private final static String PREPOSITION = "PREPOSITION";
	private final static String CONJUCTION = "CONJUCTION";
	private final static String INTERJECTION = "INTERJECTION";
	private final static String PARTICLE = "PARTICLE";
	private final static String UNKNOWN = "UNKNOWN";
	private final static String PUNCTUATION = "PUNCTUATION";

	private final static String[] values = new String[] { NOUN, ADJECTIVE,
			PRONOUN, NUMERAL, VERB, ADVERB, PREPOSITION, CONJUCTION,
			INTERJECTION, PARTICLE, UNKNOWN, PUNCTUATION };

	public CzechPartOfSpeechAttribute() {
	}

	public String[] getValues() {
		return values;
	}

	public String getValue(String input) {
		if (input.equals("N")) {
			return NOUN;
		} else if (input.equals("A")) {
			return ADJECTIVE;
		} else if (input.equals("P")) {
			return PRONOUN;
		} else if (input.equals("C")) {
			return NUMERAL;
		} else if (input.equals("V")) {
			return VERB;
		} else if (input.equals("D")) {
			return ADVERB;
		} else if (input.equals("R")) {
			return PREPOSITION;
		} else if (input.equals("J")) {
			return CONJUCTION;
		} else if (input.equals("I")) {
			return INTERJECTION;
		} else if (input.equals("T")) {
			return PARTICLE;
		} else if (input.equals("X")) {
			return UNKNOWN;
		} else if (input.equals("Z")) {
			return PUNCTUATION;
		} else
			return null;
	}
	
	public String getNounRepresentation() {
		return NOUN;
	}

	@Override
	public String getVerbRepresentation() {
		return VERB;
	}

}
